var SVG = "http://www.w3.org/2000/svg";
var XLINK = "http://www.w3.org/1999/xlink";

function buildRect(x, y, width, height, style) {
	var r = document.createElementNS (SVG, "rect");
	r.setAttributeNS (null, 'x', x);
	r.setAttributeNS (null, 'y', y);
	r.setAttributeNS (null, 'width', width);
	r.setAttributeNS (null, 'height', height);
	r.setAttributeNS (null, 'style', style);
	return r;
}
function buildCircle(cx, cy, r, style) {
	var c = document.createElementNS (SVG, "circle");
	c.setAttributeNS (null, 'cx', cx);
	c.setAttributeNS (null, 'cy', cy);
	c.setAttributeNS (null, 'r', r);
	c.setAttributeNS (null, 'style', style);
	return c;
}
function buildEllipse(cx, cy, rx, ry, style) {
	var o = document.createElementNS (SVG, "ellipse");
	o.setAttributeNS (null, 'cx', cx);
	o.setAttributeNS (null, 'cy', cy);
	o.setAttributeNS (null, 'rx', rx);
	o.setAttributeNS (null, 'ry', ry);
	o.setAttributeNS (null, 'style', style);
	return o;
}
function buildLine(x1, y1, x2, y2, style) {
	var l = document.createElementNS (SVG, "line");
	l.setAttributeNS (null, 'x1', x1);
	l.setAttributeNS (null, 'y1', y1);
	l.setAttributeNS (null, 'x2', x2);
	l.setAttributeNS (null, 'y2', y2);
	p.setAttributeNS (null, 'style', style);
	return l;
}
function buildImage(url) {
	var image = document.createElementNS(SVG, "image");
//    image.setAttribute("preserveAspectRatio", "xMinYMin slice");
	image.setAttributeNS(null, "x", -100);
	image.setAttributeNS(null, "y", -100);
    image.setAttributeNS(null, "width", 200);
    image.setAttributeNS(null, "height", 200);

	image.setAttributeNS(XLINK, "href", url);
    return image;
}
function buildPath(d, style) {
	var p = document.createElementNS (SVG, "path");
	p.setAttributeNS (null, 'd', d);
	p.setAttributeNS (null, 'style', style);
	return p;
}
